跳到主要内容
版本:FCP 24.11

Ansys Icepak

parameters:
- name: version
display: Version
type: enum
required: true
option:
enum:
- value: 2023
display: 2023
- value: 2022
display: 2022
- value: 2021
display: 2021
- name: input_file
display: 输入文件
type: path
required: true
description: 输入文件类型(.zip)
option:
path:
pattern: '.zip$'
- name: np
display: 每个节点并发数
type: int
required: true
usage: SCHEDULER
schedPrefix: --ntasks-per-node
option:
int:
min: 1
max: 48
- name: node_num
display: 节点数
type: enum
required: true
usage: SCHEDULER
schedPrefix: -N
option:
enum:
- value: 1
display: 1
- value: 2
display: 2
outputs:
- path: 'taskout.log'
type: TEXT
script: |-
#!/bin/bash
set -ex
export ANSYSLMD_LICENSE_FILE=27005@10.105.1.10

export ICEPAK_LICENSING=ice-ppe

export FLUENT_ARCH=lnamd64

NODELIST=/fastone/softwares/nodelist
LOGFILE=taskout.log

RUN_PATH=$(pwd)

INPUT_FILE={{ input_file }}

unzip ${INPUT_FILE} -d ${RUN_PATH}
if [ $? -ne 0 ];then
echo "Failed to unzip file"
exit 1

fi

CAS_FILE=$(ls *.cas)

if [ -n "${CAS_FILE}" ];then
PROJECT_NAME=${CAS_FILE%%.*}
else
echo "not found input file!"
exit 1
fi

case {{ version }} in


2021)
ANSYS_PATH=/fastone/softwares/ansys/ansys/2021/ansys_inc/v211
export FLUENT_INC=${ANSYS_PATH}/fluent
export ANSYS_FLCONSOLE_PATH=${FLUENT_INC}/fluent21.1.0/launcher/lnamd64
export ICEPAK_PATH=${ANSYS_PATH}/Icepak/icepak21.1
AppCommand=${FLUENT_INC}/bin/fluent


HOSTFILE=.mpihosts

{{ "${NODELIST} -delim '\n' -format '{{.Host}}:{{.Cpu}}' > $HOSTFILE" }}

Args="-mpi=intel"
;;

2022)
ANSYS_PATH=/fastone/softwares/ansys/ansys/2022/ansys_inc/v221
export FLUENT_INC=${ANSYS_PATH}/fluent
export ANSYS_FLCONSOLE_PATH=${FLUENT_INC}/fluent22.1.0/launcher/lnamd64
export ICEPAK_PATH=${ANSYS_PATH}/Icepak/icepak22.1
AppCommand=${FLUENT_INC}/bin/fluent
#sed -i 's#\(load \"\).*\(/icepak22.1\)#\1'"${ICEPAK_PATH}"'\2#g' ${PROJECT_NAME}.uns_in
HOSTFILE=.mpihosts

{{ "${NODELIST} -delim '\n' -format '{{.Host}}:{{.Cpu}}' > $HOSTFILE" }}

Args="-mpi=intel "
;;

2023)
export FLUENT_AFFINITY=0
export SLURM_ENABLED=1
export SCHEDULER_TIGHT_COUPLING=1

ANSYS_PATH=/fastone/softwares/ansys/ansys/2023/ansys_inc/v232
export FLUENT_INC=${ANSYS_PATH}/fluent
export ANSYS_FLCONSOLE_PATH=${FLUENT_INC}/fluent23.2.0/launcher/lnamd64
export ICEPAK_PATH=${ANSYS_PATH}/Icepak/icepak23.2
AppCommand=${FLUENT_INC}/bin/fluent


HOSTFILE=.mpihosts

{{ "${NODELIST} -delim '\n' -format '{{.Host}}' > $HOSTFILE" }}

Args=""
;;

*)
echo "ERROR: Unsupported versions"
exit 1
;;
esac







# run in MPP mode with machines
{{ "TOTAL_NPROC=$(expr $(${NODELIST} --delim ' + ' --format '{{.Cpu}}'))" }}

sed -i 's#\(load \"\).*\(/lib/icepak\)#\1'"${ICEPAK_PATH}"'\2#g' ${PROJECT_NAME}.uns_in


rm -f ${PROJECT_NAME}.resd
rm -f ${PROJECT_NAME}.srp
# shopt -s nullglob
rm -f ${PROJECT_NAME}.*.out
${AppCommand} 3ddp -g -ssh ${Args} -cnf=${HOSTFILE} -t${TOTAL_NPROC} -i ${PROJECT_NAME}.uns_in > ${LOGFILE}